1. Field
The embodiments of the disclosure relate generally to the data processing field and, more specifically, to a computer implemented method, apparatus and computer program product for displaying objects and relationships in a distributed computing environment.
2. Description of the Related Art
The scope of object and relationship displays in a typical enterprise environment can quickly become large and unwieldy. As a result, it is often desired to filter a display of objects and relationships using various algorithms, depending on the needs of a user of the display. For example, a user may wish to display objects and relationships appearing within the boundaries of a particular area using pan/zoom methods; or filter a display based on specific object/relationship types using regular expression matching, logical operations, etc. Traditional filtering methods such as these may be useful when a filtering action results in a display containing a manageable number of objects and object/relationship mappings.
There are, however, categories of objects and relationships for which traditional filtering methods are not adequate. For example, filtering may result in an object and relationship set that is too large and/or too complex to display in a visually meaningful way. Similarly, a filtered set that represents accumulations of changes over time may lose the time-based context when its objects and relationships are viewed all at once. For such a category of objects, a more sophisticated filtering method is needed.
Filtering mechanisms that filter by type, location, etc. are established and well-known. Examples of recent advances in filtering include perspective-based filtering, VMware™ maps, Windows™ Explorer and Google™ Maps. In perspective-based filtering, objects and relationships are filtered, organized and displayed according to a selected perspective. Examples of perspective-based filtering include the Java Debugging, and Synchronization perspectives of the Eclipse™ IDE. Perspective-based filtering is useful for organizing data according to the “perspective” of the user, usually based on a current role and job function being performed. Perspectives are comprised of customized data views, and do not, in and of themselves, describe a formal mechanism for data filtering and relationship mapping within the perspective.
The Maps feature of VMware™ Virtual Center Client provides a filtering mechanism in which objects and relationships can be added in a cumulative fashion, but only from a root node. FIGS. 1A and 1B are diagrams that schematically illustrate the Maps feature of VMware™ Virtual Center Client to assist in explaining illustrative embodiments. FIG. 1A illustrates the relationship of host 110 to a plurality of objects, for example, virtual machines (VMs) 120 in a Maps feature filtering mechanism of a VMware™ Virtual Center Client, and FIG. 1B illustrates the addition of data stores 130 (further objects) to the relationship of FIG. 1A.
As is apparent from FIGS. 1A and 1B, objects/relationships are added only from a primary node, the primary node being the host 110. In addition, the objects themselves cannot be selected to expand the associated relationships. The relationship choices are fixed, limited, and only available for selection outside of the graphical object model.
Windows™ Explorer provides a hierarchical view of objects (i.e., folders), that can be incrementally traversed, with associated relationships (i.e., files contained in the folders) displayed at each traversal step. The objects and relationships in Windows™ Explorer are represented in a single tree view. Each display state change results in one type of relationship (“contains”) and two types of objects (i.e., files and folders). Because there is only one view, there is a limit to the number of types of objects and relationships that can be easily shown.
FIG. 2 is a diagram that illustrates a Google™ map filtering mechanism to assist in explaining illustrative embodiments. In Google™ maps, the selection of a result in the “Search Results” view triggers a pop-up in a map such as city map 200 in FIG. 2. The pop-up 210 contains details 212 (properties) of the selected item (Eddie V's Edgewater Grille) and a list of actions 214 that are associated with the selected item. The pop-up 210 does not, however, represent the set of objects illustrated in the pop-up related to the selected object (Eddie V's Edgewater Grille), with an ability to subsequently select the related objects in order to perform further relationship mappings.